﻿<meta charset="UTF-8"/>
<pre>
知识点一：对象的字面量表示法
	对象的表示方法：
		也可以叫对象的创建方法。js中有很多种创建对象的方法，每种创建方法都有其优缺点和适应的应用场景。

	对象创建：
			属性名：可以是任意数字和字符串，但是工作中推荐使用标准的变量命名法则。
			属性名如果没有特殊符号都是字母或字母和数字的组合可以加引号也可以不加引号。
			属性名如果有特殊符号，一定要加上引号。
			属性值可以是任意合法值，例如：字符串，数组，函数,对象，表达式等。

	对象访问方法：	
		对象访问方法相对比较简单，有如下两种。
		对象名.属性名		
		对象名["属性名"]	对于特殊属性名，只能用这种中括号方式访问。
	
		特别注意：
				中括号形式的属性名必须加引号。
				点号形式访问不能加引号。
		
	案例解说：创建与访问
	<script>
		var person ={
			name:"李四",
			"age":18,		//说明属性名可以带双引号，也可以不带，带上总是对的
			"my name":"特殊情况,一般不允许这样写",
			say:function(){
				document.write("我是say()方法...");
			} 
		}

		
		person.name; 
		person.age;
		person.say();
		person["name"];
		person["age"];
		person["say"]();
		
		person["my name"]; //对于属性名称有特殊符号的，只能用中括号形式访问。
		
		/*
		 特别注意以下两种写法是不能访问到对应的属性的
		 person[name]      中括号形式里面name必须带引号，否则会被误认为是变量
		 person.my name	         中间有空格的必须用中括号形式，这样会被认为访问 person.my 后面的name跟它无关。
		 * */
	</script>
	


知识点二：认清对象的定义与访问方法
	案例1：下面对象定义正确吗？
		<script>
			var person = {
				name="张三",
				age=18 
			}
			//请给出你的解释
		</script>
	
	案例2：下面对象定义正确吗？
		<script>
			var person = {
				age:18,
				my name:"张三"
				
			}
		</script>
	
	案例3：下面对象定义正确吗？
		<script>
			var person = {
				age:"18",
				name:张三
				
			}
		</script>
		
	案例4：下面的呢？
		<script>
			var person = {
				age:18,
				myname:"张三"			
			}
		</script>
	
	
	案例5：属性名可以都用双引号包含
		<script>
			var person = {
				"age":18,
				"myname":"张三"				
			}
		</script>

	案例6：属性值可以是表达式。
		<script>
			var o = {
				"age":6>3?"是":"否"		
			}
		</script>

	案例7：下面能访问到age吗，为什么？。
		<script>
			var o = {
				age:66		
			}
			o[age]
		</script>
		
 

</pre>
